import storage from './storage';
//
const TokenKey = 'permissionsStorage';

export async function setPermissionsStorage(data) {
    await storage.save({
        key: TokenKey, // 注意:请不要在key中使用_下划线符号!
        data: data.permissionsStorage,
        expires: data.expire * 1000 * 1000,
    });
}


export function getPermissionsStorage() {

    //load 读取
    return storage
        .load({
            key: TokenKey,
        })
        .then(ret => {
            // console.log(ret)
            return ret;
        })
        .catch(err => {
            // 如果没有找到数据且没有sync方法，
            // 或者有其他异常，则在catch中返回
            switch (err.name) {
                case 'NotFoundError':
                    // TODO;
                    break;
                case 'ExpiredError':
                    // TODO
                    break;

            }
            //console.log(err.name, "token失效")
            return null;
        });
}


export async function removePermissionsStorage() {
    await storage.remove({
        key: TokenKey,
    });
}

/**
 * 是否有权限
 * @param {*} key
 */
export async function isAuth(key) {
    let status=false;
    let res=await storage.load({key: TokenKey})
    if (res.includes(key)) {
        status=true
    }
    return status

}
